package com.ruoyi.device.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备借用对象 sys_device_borrow
 * 
 * @author zz
 * @date 2024-04-24
 */
public class SysDeviceBorrow extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long borrowId;

    /** 设备id */
    @Excel(name = "设备id")
    private Long deviceId;

    private SysDeviceNew sysDeviceNew;

    /** 借用用户id */
    @Excel(name = "借用用户id")
    private Long userId;

    private SysUser sysUser;

    /** 借用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date borrowTime;

    /** 借用说明 */
    @Excel(name = "借用说明")
    private String borrowRemark;

    /** 计划归还时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划归还时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date returnTime;

    /** 归还状态，0申请借用，1未归还，2申请归还，3已归还 */
    @Excel(name = "归还状态，0申请借用，1未归还，2申请归还，3已归还")
    private Integer returnStatus;

    private String returnStr;

    /** 归还说明 */
    @Excel(name = "归还说明")
    private String returnRemark;

    private Integer deviceStatus;

    public SysDeviceNew getSysDeviceNew() {
        return sysDeviceNew;
    }

    public void setSysDeviceNew(SysDeviceNew sysDeviceNew) {
        this.sysDeviceNew = sysDeviceNew;
    }

    public SysUser getSysUser() {
        return sysUser;
    }

    public Integer getDeviceStatus() {
        return deviceStatus;
    }

    public void setDeviceStatus(Integer deviceStatus) {
        this.deviceStatus = deviceStatus;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public void setBorrowId(Long borrowId)
    {
        this.borrowId = borrowId;
    }

    public Long getBorrowId() 
    {
        return borrowId;
    }
    public void setDeviceId(Long deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() 
    {
        return deviceId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setBorrowTime(Date borrowTime) 
    {
        this.borrowTime = borrowTime;
    }

    public Date getBorrowTime() 
    {
        return borrowTime;
    }
    public void setBorrowRemark(String borrowRemark) 
    {
        this.borrowRemark = borrowRemark;
    }

    public String getBorrowRemark() 
    {
        return borrowRemark;
    }
    public void setReturnTime(Date returnTime) 
    {
        this.returnTime = returnTime;
    }

    public Date getReturnTime() 
    {
        return returnTime;
    }
    public void setReturnStatus(Integer returnStatus) 
    {
        this.returnStatus = returnStatus;
    }

    public Integer getReturnStatus() 
    {
        return returnStatus;
    }
    public void setReturnRemark(String returnRemark) 
    {
        this.returnRemark = returnRemark;
    }

    public String getReturnRemark() 
    {
        return returnRemark;
    }

    public String getReturnStr() {
        return returnStr;
    }

    public void setReturnStr(String returnStr) {
        this.returnStr = returnStr;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("borrowId", getBorrowId())
            .append("deviceId", getDeviceId())
            .append("userId", getUserId())
            .append("borrowTime", getBorrowTime())
            .append("borrowRemark", getBorrowRemark())
            .append("returnTime", getReturnTime())
            .append("returnStatus", getReturnStatus())
            .append("returnRemark", getReturnRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
